package main

import "fmt"

/*
在代码块里定义的局部变量，出来代码块就用不了
定义的全局变量在任何代码块都可以使用
代码块为用{}包住的，函数体{}，if{}等循环体都属于代码块，出了循环体都用不了
局部变量的优先级大于全局变量
*/
//全局变量k
var k, m = 2, 8

func main() {
	//局部变量k
	var k, m = 4, 2
	fmt.Println(k)
	if m == 2 {
		var k = 5
		fmt.Println("if中k的值：", k) //结果为5，使用了if块中的局部变量
		m = m + 1
		fmt.Println("if中m的值：", m) //结果为2，由于局部变量的优先级大于全局变量，所以使用main定义的
	}
	fmt.Println("mkin中m的值：", k) // 结果为4，if块中的局部变量使用不了，只能只有mian中定义的局部变量
	fmt.Println("mkin中m的值：", m)
}
